/*
 * AddressTests.h
 *
 *  Created on: 31 ��� 2010
 *      Author: Sartios
 */

#ifndef ADDRESSTESTS_H_
#define ADDRESSTESTS_H_

#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>

#include "../../../Domain/TeacherAddresses/ITeacherAddress.h"

namespace Teacher{


class AddressTests : public CppUnit::TestFixture
{

	CPPUNIT_TEST_SUITE(AddressTests);
/*
	CPPUNIT_TEST(setUp);
	CPPUNIT_TEST(tearDown);*/

/*	CPPUNIT_TEST(setTown_CharactersAsTownName_ReturnTrue);*/
	CPPUNIT_TEST(setTown_CharactersAsTownName_TownEqualToParameter);

/*	CPPUNIT_TEST(setTown_SymbolsAsTownName_ReturnFalse);*/
	CPPUNIT_TEST(setTown_SymbolsAsTownName_TownEqualToNull);

/*	CPPUNIT_TEST(setTown_NumSymbCharAsTownName_ReturnFalse);*/
	CPPUNIT_TEST(setTown_NumSymbCharAsTownName_TownEqualToNull);

/*	CPPUNIT_TEST(getTown_TownHasBeenSettingUpToNull_ReturnNull);
	CPPUNIT_TEST(getTown_TownHasBeenSettingUpWithValidTownName_ReturnTownName);
*/
/*	CPPUNIT_TEST(setStreet_CharactersAsStreetName_ReturnTrue);*/
	CPPUNIT_TEST(setStreet_CharactersAsStreetName_StreetEqualToPamareter);

/*	CPPUNIT_TEST(setStreet_NumbersAsStreetName_ReturnFalse);*/
	CPPUNIT_TEST(setStreet_NumbersAsStreetName_StreetEqualToNull);

/*	CPPUNIT_TEST(setStreet_SymbolsAsStreetName_ReturnFalse);*/
	CPPUNIT_TEST(setStreet_SymbolsAsStreetName_StreetEqualToNull);

/*	CPPUNIT_TEST(setStreet_NullAsStreetName_ReturnFalse);*/
	CPPUNIT_TEST(setStreet_NullAsStreetName_StreetEqualToNull);

/*	CPPUNIT_TEST(getStreet_StreetHasBeenSettingUpToNull_ReturnNull);
	CPPUNIT_TEST(getStreet_StreetHasBeenSettingUpWithValidStreetName_ReturnStreetName);*/

/*	CPPUNIT_TEST(setNumber_CharactersAsStreetNumber_ReturnFlase);*/
	CPPUNIT_TEST(setNumber_CharactersAsStreetNumber_StreetNumberEqualToNull);

/*	CPPUNIT_TEST(setNumber_NumbersAsStreetNumber_ReturnTrue);*/
	CPPUNIT_TEST(setNumber_NumbersAsStreetNumber_StreetNumberEqualToParameter);

/*	CPPUNIT_TEST(setNumber_SymbolsAsStreetNumber_ReturnFalse);*/
	CPPUNIT_TEST(setStreet_SymbolsAsStreetName_StreetEqualToNull);

/*	CPPUNIT_TEST(setNumber_NumSymbCharAsStreetNumber_ReturnFalse);*/
	CPPUNIT_TEST(setNumber_NumSymbCharAsStreetNumber_StreetNumberEqualToNull);

/*	CPPUNIT_TEST(setNumber_NullAsStreetNumber_ReturnFalse);*/
	CPPUNIT_TEST(setNumber_NullAsStreetNumber_StreetNumberEqualToNull);

/*
	CPPUNIT_TEST(getNumber_StreetNumberHasBeenSettingUpToNull_ReturnNull);
	CPPUNIT_TEST(getNumber_StreetNumberHasBeenSettingUpWithValidStreetNumber_ReturnStreetNumber);
*/

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_CharactersAsOwnersInsuranceNumber_ReturnFalse);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_CharactersAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull);

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_NumbersAsOwnersInsuranceNumber_ReturnTrue);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_NumbersAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToParameter);

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_SymbolsAsOwnersInsuranceNumber_ReturnFalse);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_SymbolsAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull);

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_NumSymbCharAsOwnersInsuranceNumber_ReturnFalse);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_NumSymbCharAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull);

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_NullAsOwnersInsuranceNumber_ReturnFalse);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_NullAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull);

/*
	CPPUNIT_TEST(getOwnersInsuranceNumber_OwnersInsuranceNumberHasBeenSettingUpToNull_ReturnNull);
	CPPUNIT_TEST(getOwnersInsuranceNumber_OwnersInsuranceNumberHasBeenSettingUpWithValidInsuranceNumber_ReturnSOwnersInsuranceNumber);
*/

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_NumberLengthBiggerThan15AsOwnersInsuranceNumber_ReturnFalse);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_NumberLengthBiggerThan15AsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull);

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_NumberLengthSmallerThan4AsOwnersInsuranceNumber_ReturnFalse);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_NumberLengthSmallerThan4AsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull);

/*	CPPUNIT_TEST(setOwnersInsuranceNumber_NumberLengthSmallerThan4AndNumberLengthBiggerThan15AsOwnersInsuranceNumber_ReturnTrue);*/
	CPPUNIT_TEST(setOwnersInsuranceNumber_NumberLengthSmallerThan4AndNumberLengthBiggerThan15AsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToParameter);



	CPPUNIT_TEST_SUITE_END();
public:
	void	setUp();
	void	tearDown();
/*----------------------------------------------------------------------------------------------------*/
/*	void	setTown_CharactersAsTownName_ReturnTrue();*/
	void	setTown_CharactersAsTownName_TownEqualToParameter();

/*	void	setTown_NumbersAsTownName_ReturnFalse();*/
	void	setTown_NumbersAsTownName_TownEqualToNull();

/*	void	setTown_SymbolsAsTownName_ReturnFalse();*/
	void	setTown_SymbolsAsTownName_TownEqualToNull();

/*	void	setTown_NumSymbCharAsTownName_ReturnFalse();*/
	void	setTown_NumSymbCharAsTownName_TownEqualToNull();

/*
	void	getTown_TownHasBeenSettingUpToNull_ReturnNull();
	void	getTown_TownHasBeenSettingUpWithValidTownName_ReturnTownName();
*/
/*----------------------------------------------------------------------------------------------------*/
/*	void	setStreet_CharactersAsStreetName_ReturnTrue();*/
	void	setStreet_CharactersAsStreetName_StreetEqualToPamareter();

/*	void	setStreet_NumbersAsStreetName_ReturnFalse();*/
	void	setStreet_NumbersAsStreetName_StreetEqualToNull();

/*	void	setStreet_SymbolsAsStreetName_ReturnFalse();*/
	void	setStreet_SymbolsAsStreetName_StreetEqualToNull();

/*	void	setStreet_NumSymbCharAsStreetName_ReturnFalse();*/
	void	setStreet_NumSymbCharAsStreetName_StreetEqualToNull();

/*	void	setStreet_NullAsStreetName_ReturnFalse();*/
	void	setStreet_NullAsStreetName_StreetEqualToNull();

/*	void	getStreet_StreetHasBeenSettingUpToNull_ReturnNull();
	void	getStreet_StreetHasBeenSettingUpWithValidStreetName_ReturnStreetName();*/
/*----------------------------------------------------------------------------------------------------*/

/*	void	setNumber_CharactersAsStreetNumber_ReturnFlase();*/
	void	setNumber_CharactersAsStreetNumber_StreetNumberEqualToNull();

/*	void	setNumber_NumbersAsStreetNumber_ReturnTrue();*/
	void	setNumber_NumbersAsStreetNumber_StreetNumberEqualToParameter();

/*	void	setNumber_SymbolsAsStreetNumber_ReturnFalse();*/
	void	setNumber_SymbolsAsStreetNumber_StreetNumberEqualToNull();

/*	void	setNumber_NumSymbCharAsStreetNumber_ReturnFalse();*/
	void	setNumber_NumSymbCharAsStreetNumber_StreetNumberEqualToNull();

/*	void	setNumber_NullAsStreetNumber_ReturnFalse();*/
	void	setNumber_NullAsStreetNumber_StreetNumberEqualToNull();
/*
	void	getNumber_StreetNumberHasBeenSettingUpToNull_ReturnNull();
	void	getNumber_StreetNumberHasBeenSettingUpWithValidStreetNumber_ReturnStreetNumber();
*/

/*----------------------------------------------------------------------------------------------------*/

/*	void	setOwnersInsuranceNumber_CharactersAsOwnersInsuranceNumber_ReturnFalse();*/
	void	setOwnersInsuranceNumber_CharactersAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull();

/*	void	setOwnersInsuranceNumber_NumbersAsOwnersInsuranceNumber_ReturnTrue();*/
	void	setOwnersInsuranceNumber_NumbersAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToParameter();

/*	void	setOwnersInsuranceNumber_SymbolsAsOwnersInsuranceNumber_ReturnFalse();*/
	void	setOwnersInsuranceNumber_SymbolsAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull();

/*	void	setOwnersInsuranceNumber_NumSymbCharAsOwnersInsuranceNumber_ReturnFalse();*/
	void	setOwnersInsuranceNumber_NumSymbCharAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull();

/*	void	setOwnersInsuranceNumber_NullAsOwnersInsuranceNumber_ReturnFalse();*/
	void	setOwnersInsuranceNumber_NullAsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull();

/*	void	setOwnersInsuranceNumber_NumberLengthBiggerThan15AsOwnersInsuranceNumber_ReturnFalse();*/
	void	setOwnersInsuranceNumber_NumberLengthBiggerThan15AsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull();

/*	void	setOwnersInsuranceNumber_NumberLengthSmallerThan4AndNumberLengthBiggerThan15AsOwnersInsuranceNumber_ReturnTrue();*/
	void	setOwnersInsuranceNumber_NumberLengthSmallerThan4AndNumberLengthBiggerThan15AsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToParameter();

/*	void	setOwnersInsuranceNumber_NumberLengthSmallerThan4AsOwnersInsuranceNumber_ReturnFalse();*/
	void	setOwnersInsuranceNumber_NumberLengthSmallerThan4AsOwnersInsuranceNumber_OwnersInsuranceNumberEqualToNull();

/*
	void	getOwnersInsuranceNumber_OwnersInsuranceNumberHasBeenSettingUpToNull_ReturnNull();
	void	getOwnersInsuranceNumber_OwnersInsuranceNumberHasBeenSettingUpWithValidInsuranceNumber_ReturnSOwnersInsuranceNumber();
*/

/*----------------------------------------------------------------------------------------------------*/

private:
	ITeacherAddress	*teacherAddress_;
	const string	*symbols_;
};
}
#endif /* ADDRESSTESTS_H_ */
